﻿using RndMaterialDisposalService.Models;
using RndMaterialDisposalService.Models.Entitys;
using Microsoft.EntityFrameworkCore;
using ValidationProblemTracking.Models;

namespace RndMaterialDisposalService.Repository
{
    /// <summary>
    /// 
    /// </summary>
    public class AssetsManagementContext:DbContext
    {

        /// <summary>
        /// 
        /// </summary>
        /// <param name="options"></param>
        public AssetsManagementContext(DbContextOptions<AssetsManagementContext> options):base(options)
        {

        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="optionsBuilder"></param>
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)=> optionsBuilder.LogTo(Console.WriteLine);

        /// <summary>
        /// 
        /// </summary>
        public DbSet<ConfigDictionaryModel> ConfigDictionary { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DbSet<ERPAssetInfoModel> ERPAssetInfo { get; set; }

        /// <summary>
        /// 资产转移电子流报表-主表
        /// </summary>
        public DbSet<CapitalTransferBusinessDataModel> CapitalTransferBusinessData { get; set; }

        /// <summary>
        /// 资产转移电子流报表-子表
        /// </summary>
        public DbSet<CapitalTransferBusinessSubtableDataModel> CapitalTransferBusinessSubtableData { get; set; }

        /// <summary>
        /// 资产维修电子流报表
        /// </summary>
        public DbSet<CapitalRepairBusinessDataModel> CapitalRepairBusinessData { get; set; }
        /// <summary>
        /// 资产赔偿电子流报表-主表
        /// </summary>
        public DbSet<CapitalCompensateBusinessDataModel> CapitalCompensateBusinessData { get; set; }
        /// <summary>
        /// 资产赔偿电子流报表-子表
        /// </summary>
        public DbSet<CapitalCompensateBusinessSubtableDataModel> CapitalCompensateBusinessSubtableData { get; set; }

        /// <summary>
        /// 资产清退报废电子流报表
        /// </summary>
        public DbSet<CapitalScrapReportDto> CapitalScrapReport { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public DbSet<CapitalScrapReportSubtableDto> CapitalScrapReportSubtable { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DbSet<StandardDictionaryConfigurationModel> StandardDictionaryConfiguration { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public DbSet<FormDataModifyLogDto> FormDataModifyLog { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public DbSet<CarConfigurationDto> CarConfiguration { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DbSet<OrgConfigurationDto> OrgConfiguration { get; set; }

        /// <summary>
        /// 临时工艺文件下发单电子流
        /// </summary>
        public DbSet<TemporaryProcessDocumentBusinessDataModel> TemporaryProcessDocumentBusinessData { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DbSet<DriverConfigurationDto> DriverConfiguration { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public DbSet<VehicleDispatchReportDto> VehicleDispatchReport { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public DbSet<InternalVehicleReportDto> InternalVehicleReport { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public DbSet<ConfirmationExpenseDto> ConfirmationExpense { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public DbSet<NewProductApplyReportDto> NewProductApplyReport { get; set; }

        /// <summary>
        /// 研发物料报废
        /// </summary>
        public DbSet<MaterialDisposalReportDto> MaterialDisposalReport { get; set; }
        /// <summary>
        /// 研发物料-物料明细
        /// </summary>
        public DbSet<MaterialInfoDetailModelDto> MaterialInfoDetailModelReport { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public DbSet<LaunchVerifyReportDto> LaunchVerifyReport { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public DbSet<ERPDeviceInfoReportDto> NewProductApplyERPDeviceInfoReport { get; set; }

        /// <summary>
        /// 小批量试用跟踪电子流-主表
        /// </summary>
        public DbSet<SmallBatchTrialBusinessDataModel> SmallBatchTrialBusinessData { get; set; }
        /// <summary>
        /// 小批量试用跟踪电子流-子表
        /// </summary>
        public DbSet<SmallBatchTrialBusinessSubtableDataModel> SmallBatchTrialBusinessSubtableData { get; set; }
        /// <summary>
        /// 小批量试用跟踪电子流-产品明细表
        /// </summary>
        public DbSet<ProductLineDetailsModel> ProductLineDetails { get; set; }
        /// <summary>
        /// 小批量试用跟踪电子流-（加工-产品-人员配置表）
        /// </summary>
        public DbSet<ProductProcessingPersonnelModel> ProductProcessingPersonnel { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DbSet<GeneralConfigurationDto> GeneralConfiguration { get; set; }

        /// <summary>
        /// 外协加工
        /// </summary>
        public DbSet<OutsourcingProcessingBusinessDataModel> OutsourcingProcessingBusinessData { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public DbSet<WorkshopProcessinReportDto> WorkshopProcessinReport { get; set; }

        /// <summary>
        /// 中试验证问题处理电子流
        /// </summary>
        public DbSet<ValidationProblemBusinessDataModel> ValidationProblemBusinessData { get; set; }
    }
}
